package com.jay.fault.tolerant;


import com.jay.model.RpcResponse;

import java.util.Map;

/**
 * 容错策略接口
 * 定义了如何处理在分布式调用中可能出现的异常或错误
 */
public interface TolerantStrategy {

    /**
     * 执行容错操作
     * 当服务调用出现异常时，通过此方法来执行容错处理，如返回默认值、调用降级策略等
     *
     * @param context 上下文，用于传递数据，可以在容错处理中使用这些数据
     * @param e       异常，表示在服务调用过程中发生的错误
     * @return 返回容错处理后的响应
     */
    RpcResponse doTolerant(Map<String, Object> context, Exception e);
}

